ld -shared -all -no_unresolved libmine.a -o libmine.so -none libutil.aThis causes the modules in libutil.a that are referenced in libmine.a to be included in the DSO, but these modules won't be exported. (For more information about exported symbols, see "Controlling Symbols to Be Exported or Loaded.") The -no_unresolved option causes a list of unresolved symbols to be created; generally, this list should be empty to enable using QuickStart.
Similarly, if a DSO relies on another DSO, be sure to include that DSO on the link line. For example:
ld -shared -all -no_unresolved libbtree.a -o libtree.so -lyoursThis example places libyours.so in the liblist of the new DSO, libtree.so. This ensures that libyours.so is loaded whenever an executable that uses libtree.so is launched. Again, symbols from libyours.so won't be exported for use by other libraries. (You can use the -exports flag to reverse this exporting behavior; the -hides flag specifies the default exporting behavior.)